package org.zoomdev.zoom.dao.process;

import java.sql.Connection;
import java.sql.PreparedStatement;

/**
 * 对增删查改流程的抽象
 */
public interface Process {

    /**
     * <pre>
     * 创建，针对oracle等自动生成 与mysql不同
     * 查询 删除 更新
     * update a set a1=select a_seq.next_val from dual where a2=1;
     *
     *
     * 存储过程
     * </pre>
     *
     * @param connection
     * @param sql
     * @return
     */
    PreparedStatement createStatement(Connection connection, String sql);

    /**
     * 结束之后，例如处理auto generate key
     *
     * @param ps
     * @param value
     */
    void after(PreparedStatement ps, Object value);


}
